package com.woniu.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.woniu.entity.RelContestRange;

import java.util.List;

/**
 * @Author pml
 * @Date 2025/6/12 11:17
 * @Description TODO
 * RelContestRangeService接口
 * 继承IService获取MyBatis-Plus提供的CRUD基础方法
 * 定义考试-靶场关联关系管理的业务方法
 **/
public interface RelContestRangeService extends IService<RelContestRange> {

    /**
     * @Author pml
     * 添加考试-靶场关联
     * @param rel 关联关系实体
     * @return 操作结果
     */
    String addRelContestRange(RelContestRange rel);

    /**
     * @Author pml
     * 删除考试-靶场关联
     * @param contestId 考试ID
     * @param rangeId 靶场ID
     * @return 操作结果
     */
    String deleteRelContestRange(Integer contestId, Integer rangeId);

    /**
     * @Author pml
     * 根据考试ID查询关联的靶场ID列表
     * @param contestId 考试ID
     * @return 靶场ID列表
     */
    List<String> listRangeIdsByContestId(Integer contestId);

    /**
     * @Author pml
     * 根据靶场ID查询关联的考试ID列表
     * @param rangeId 靶场ID
     * @return 考试ID列表
     */
    List<Integer> listContestIdsByRangeId(Integer rangeId);

    /**
     * @Author pml
     * 根据考试ID批量删除关联记录
     * @param contestId 考试ID
     * @return 操作结果
     */
    String deleteByContestId(Integer contestId);
}